package common

/**
 * @author ljfirst
 * @version V1.0
 * @date 2023/6/26 08:08
 * @author-Email ljfirst@mail.ustc.edu.cn
 * @blogURL https://blog.csdn.net/ljfirst
 * @description
 * */

type GetStatisticsMap struct {
}

func (m *GetStatisticsMap) GetMap() map[string]interface{} {
	statisticsMap := make(map[string]interface{})
	/*RegisterArraySort(statisticsMap)

	RegisterList(statisticsMap)
	RegisterCache(statisticsMap)
	RegisterCalculator(statisticsMap)

	RegisterHeap(statisticsMap)
	RegisterReturnKMin(statisticsMap)
	RegisterStack(statisticsMap)
	RegisterQueue(statisticsMap)

	RegisterTree(statisticsMap)

	RegisterGraph(statisticsMap)*/
	return statisticsMap
}
/*
func RegisterArraySort(statisticsMap map[string]interface{}) {
	for _, method := range intf.ArraySortINTFAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = execMethod // map[测试对象名称][测试用例名称]
	}
}

func RegisterList(statisticsMap map[string]interface{}) {
	for _, method := range intf.ListAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = execMethod // map[测试对象名称][测试用例名称]
	}
}

func RegisterCache(statisticsMap map[string]interface{}) {
	for _, method := range intf.CacheAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = execMethod // map[测试对象名称][测试用例名称]
	}
}
func RegisterCalculator(statisticsMap map[string]interface{}) {
	for _, method := range intf.CacheAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = execMethod // map[测试对象名称][测试用例名称]
	}
}

func RegisterHeap(statisticsMap map[string]interface{}) {
	statisticsMap["GetMidNum"] = heap.GetMidNum{}
	statisticsMap["WordFrequency"] = heap.WordFrequency{}
}

func RegisterStack(statisticsMap map[string]interface{}) {
	for _, method := range intf.StackAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = execMethod
	}
}

func RegisterQueue(statisticsMap map[string]interface{}) {
	for _, method := range intf.QueueAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = execMethod
	}
}

func RegisterTree(statisticsMap map[string]interface{}) {

}

func RegisterGraph(statisticsMap map[string]interface{}) {

}

func RegisterReturnKMin(statisticsMap map[string]interface{}) {
	for _, method := range intf.ReturnKMinAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = method
	}
}
func RegisterMinStack(statisticsMap map[string]interface{}) {
	for _, method := range intf.MinStackAssemble {
		execMethod := method
		statisticsMap[execMethod.Tags()] = method
	}
}
*/